package cn.jetpiece.cloud.system.dp.app.modular.biz.wrapper;

import cn.hutool.core.util.ObjectUtil;
import cn.jetpiece.cloud.core.util.ResultWrapper;
import cn.jetpiece.cloud.model.util.SpringContextHolder;
import cn.jetpiece.cloud.system.dp.api.biz.model.result.DpTApiResult;
import cn.jetpiece.cloud.system.dp.app.enums.ApiMethodEnum;
import cn.jetpiece.cloud.system.dp.app.enums.PermCheckEnum;
import cn.jetpiece.cloud.system.dp.app.modular.biz.entity.DpTSystem;
import cn.jetpiece.cloud.system.dp.app.modular.biz.service.IDpTSystemService;

/**
 * dp_t_api
 *
 * @author jetpiece
 * @since 2023-05-15
 */
public class DpTApiWrapper extends ResultWrapper<DpTApiResult> {

    public DpTApiWrapper(Object object) {
        super(object);
    }

    @Override
    protected void wrapTheDto(DpTApiResult dto) {
       if(ObjectUtil.isNotEmpty(dto.getSystemId())){
           IDpTSystemService systemService = SpringContextHolder.getBean(IDpTSystemService.class);
           DpTSystem system = systemService.getById(dto.getSystemId());
           if(ObjectUtil.isNotEmpty(system)){
               dto.setSystemName(system.getName());
               dto.setApiMethodName(ApiMethodEnum.getCode(dto.getApiMethod()));
               dto.setProjPermCheckName(PermCheckEnum.getCode(dto.getProjPermCheck()));
           }
       }
    }
}
